-- attack_bonus
-- created by chendh
-- 天空战附加属性：攻击时概率获得奖励(目前只支持属性和道具)
-- ([physics:({({500,1,10000,5})})])代表飞艇主炮攻击50%概率获得5个class_id为10000的道具
-- ([skill:({({500,2,gem,1})})])代表秘宝攻击50%概率获得1个钻石

return {
    -- 空属性
    getEmptyProp = function()
        return {};
    end,

    -- 合并属性
    mergeSkyProp = function(data, addon)
        local result = {};

        if not data then
            result = table.copy(addon);
        else
            result = table.copy(data);

            for style, value in pairs(addon) do
                if not result[style] then
                    result[style] = {};
                end

                result[style] = table.append(result[style], value);
            end
        end

        return result;
    end,

    parseDesc = function(desc, data)
        -- 按顺序替换，每次替换一个
        local bonusList;
        for _, key in ipairs(table.keys(data)) do
            bonusList = data[key];
            for _, bonus in ipairs(bonusList) do
                -- 奖励数量
                desc = string.gsub(desc, "{amount}", bonus[4], 1);

                -- 奖励概率
                desc = string.gsub(desc, "{rate}", math.modf(bonus[1] / 10), 1);
            end
        end

        return desc;
    end,
};